#include <ansi.h>

int isAreaPattern() { return 1; }

string getName() { return "小船 - 朝北"; }


private mapping getIcon()
{
    mapping icon =
        ([ 0: ({ "  ", "  ", "◢", "■",  "◣", "  ", "  ", }),
           1: ({ "  ", "◢", "◤", "  ",  "◥", "◣", "  ", }),
           2: ({ "◢", "◤", "  ", "  ",  "  ", "◥", "◣", }),
           3: ({ "■", "  ", "  ", "  ",  "  ", "  ", "■", }),
           4: ({ "■", "  ", "  ", "  ",  "  ", "  ", "■", }),
           5: ({ "■", "  ", "  ", "  ",  "  ", "  ", "■", }),
           6: ({ "■", "  ", "  ", "  ",  "  ", "  ", "■", }),
           7: ({ "◥", "◣", "  ", "  ",  "  ", "◢", "◤", }),
           8: ({ "  ", "◥", "■", "■",  "■", "◤", "  ", }),
        ]);
    return icon;
}

private mapping getBlock()
{
    mapping block =
        ([ 0: ({ 0, 0, 1, 1, 1, 0, 0 }),
           1: ({ 0, 1, 1, 0, 1, 1, 0 }),
           2: ({ 1, 1, 0, 0, 0, 1, 1 }),
           3: ({ 1, 0, 0, 0, 0, 0, 1 }),
           4: ({ 1, 0, 0, 0, 0, 0, 1 }),
           5: ({ 1, 0, 0, 0, 0, 0, 1 }),
           6: ({ 1, 0, 0, 0, 0, 0, 1 }),
           7: ({ 1, 1, 0, 0, 0, 1, 1 }),
           8: ({ 0, 1, 1, 1, 1, 1, 0 }),
        ]);
    return block;
}

mapping getMapStyle()
{
    mapping style = ([
        "icon": getIcon(),
        "block": getBlock(),
    ]);

    return style;
}
